package com.taoyibao.hongcanting.http.api;

import com.taoyibao.hongcanting.constant.ApiConstant;
import com.taoyibao.hongcanting.constant.ApiRoute;
import com.taoyibao.hongcanting.model.AliPayReturnModel;
import com.taoyibao.hongcanting.model.AppVersionModel;
import com.taoyibao.hongcanting.model.BalanceModel;
import com.taoyibao.hongcanting.model.BannerModel;
import com.taoyibao.hongcanting.model.CartSimpleInfoModel;
import com.taoyibao.hongcanting.model.CompanyBaseModel;
import com.taoyibao.hongcanting.model.DeskModel;
import com.taoyibao.hongcanting.model.DishModel;
import com.taoyibao.hongcanting.model.FoodTypeModel;
import com.taoyibao.hongcanting.model.GiftMode;
import com.taoyibao.hongcanting.model.LoginModel;
import com.taoyibao.hongcanting.model.OrderEatTypeMode;
import com.taoyibao.hongcanting.model.OrderInfoModel;
import com.taoyibao.hongcanting.model.OrderModel;
import com.taoyibao.hongcanting.model.OrderPageModel;
import com.taoyibao.hongcanting.model.ResultStringModel;
import com.taoyibao.hongcanting.model.SanFangBaseModel;
import com.taoyibao.hongcanting.model.ShoppingCartModel;
import com.taoyibao.hongcanting.model.SupplementModel;
import com.taoyibao.hongcanting.model.TaskPageModel;
import com.taoyibao.hongcanting.model.UserInfoModel;
import com.taoyibao.hongcanting.model.UserTableModel;
import com.taoyibao.hongcanting.model.WalletDetailPageModel;
import com.taoyibao.hongcanting.model.WeChartPayModel;

import java.util.List;
import java.util.Map;

import okhttp3.MultipartBody;
import okhttp3.RequestBody;
import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.GET;
import retrofit2.http.Headers;
import retrofit2.http.Multipart;
import retrofit2.http.POST;
import retrofit2.http.Part;
import retrofit2.http.PartMap;
import rx.Observable;

/**
 * @author TangAnna
 * @description: 接口Api   使用时为了区分多个baseUrl 的问题 每个方法上都要使用    @Headers({"urlname:manage"})
 * @date :${DATA} 11:17
 */
public interface ApiService {

    /**
     * 公司接口个header
     */
    String HEADER_COMPANY = ApiConstant.HEADER_NAME_URL + ":" + ApiConstant.HEADER_NAME_URL_COMPANY;
    /**
     * 三方接口的header
     */
    String HEADER_SANFANG = ApiConstant.HEADER_NAME_URL + ":" + ApiConstant.HEADER_NAME_URL_SANFANG;


    /**
     * 提交订单
     *
     * @param masterId
     * @param key
     * @param branchId      分店编码
     * @param biz           业务模式，1=堂食，2=外卖
     * @param deskId        台位编码
     * @param eatType       就餐方式，0=堂食；1=外带
     * @param phone         就餐人数
     * @param user          就餐人数
     * @param dishs         菜品信息，必须url编码
     * @param totalMoney    总价
     * @param discountMoeny 已优惠价
     * @param remark        备注
     * @param IsAdd         加单，0=否；1=是
     * @return
     */
    @Headers(HEADER_SANFANG)
    @FormUrlEncoded
    @POST(ApiRoute.SanFang.Order.SUBMIT_ORDER)
    Observable<SanFangBaseModel<ResultStringModel>> submitOrder(
            @Field("masterId") String masterId,
            @Field("key") String key,
            @Field("branchId") String branchId,
            @Field("biz") int biz,
            @Field("deskId") String deskId,
            @Field("eatType") int eatType,
            @Field("phone") String phone,
            @Field("user") int user,
            @Field("dishs") String dishs,
            @Field("totalMoney") double totalMoney,
            @Field("discountMoeny") double discountMoeny,
            @Field("remark") String remark,
            @Field("IsAdd") int IsAdd);

    /**
     * 加菜
     *
     * @param masterId
     * @param key
     * @param branchId      分店编码
     * @param biz           业务模式，1=堂食，2=外卖
     * @param orderId
     * @param dishs         菜品信息，必须url编码
     * @param totalMoney    总价
     * @param discountMoeny 已优惠价
     * @param remark        备注
     * @return
     */
    @Headers(HEADER_SANFANG)
    @FormUrlEncoded
    @POST(ApiRoute.SanFang.Order.ADD_DISH)
    Observable<SanFangBaseModel> addDish(
            @Field("masterId") String masterId,
            @Field("key") String key,
            @Field("branchId") String branchId,
            @Field("memberId") String memberId,
            @Field("biz") int biz,
            @Field("orderId") String orderId,
            @Field("dishs") String dishs,
            @Field("totalMoney") double totalMoney,
            @Field("discountMoeny") double discountMoeny,
            @Field("remark") String remark);


    /**
     * 获取订单列表
     *
     * @param masterId
     * @param key
     * @param branchId 分店编码
     * @param memberId
     * @param status   订单状态  0返回未支付的订单，1，返回已支付的订单，2返回所有的订单；
     * @return
     */
    @Headers(HEADER_SANFANG)
    @FormUrlEncoded
    @POST(ApiRoute.SanFang.Order.GET_ORDER)
    Observable<SanFangBaseModel<List<OrderModel>>> getOrder(
            @Field("masterId") String masterId,
            @Field("key") String key,
            @Field("branchId") String branchId,
            @Field("memberId") String memberId,
            @Field("status") int status);

    /**
     * 获取外带订单详情
     *
     * @param masterId
     * @param key
     * @param branchId 分店编码
     * @return
     */
    @Headers(HEADER_SANFANG)
    @FormUrlEncoded
    @POST(ApiRoute.SanFang.Order.GET_ORDER_INFO_ONLINE)
    Observable<SanFangBaseModel<OrderInfoModel>> getOrderInfo(
            @Field("masterId") String masterId,
            @Field("key") String key,
            @Field("branchId") String branchId,
            @Field("memberId") String memberId,
            @Field("orderId") String orderId);

    /**
     * 获取堂食订单详情
     *
     * @param masterId
     * @param key
     * @param branchId 分店编码
     * @param deskId   台位信息
     * @return
     */
    @Headers(HEADER_SANFANG)
    @FormUrlEncoded
    @POST(ApiRoute.SanFang.Order.GET_EDSK_ORDER_INFO)
    Observable<SanFangBaseModel<OrderInfoModel>> getDeskOrderInfo(
            @Field("masterId") String masterId,
            @Field("key") String key,
            @Field("branchId") String branchId,
            @Field("deskId") String deskId);

    /**
     * 获取已完成的订单的详情
     *
     * @param masterId
     * @param key
     * @param branchId 分店编码
     * @return
     */
    @Headers(HEADER_SANFANG)
    @FormUrlEncoded
    @POST(ApiRoute.SanFang.Order.GET_ORDER_INFO)
    Observable<SanFangBaseModel<OrderInfoModel>> getOrderInfoComplete(
            @Field("masterId") String masterId,
            @Field("key") String key,
            @Field("branchId") String branchId,
            @Field("memberId") String memberId,
            @Field("orderId") String orderId);

    /**
     * 获取桌位信息
     *
     * @param masterId
     * @param key
     * @param id       微信二维码中id参数的值
     * @return
     */
    @Headers(HEADER_SANFANG)
    @FormUrlEncoded
    @POST(ApiRoute.SanFang.Order.GET_DESK_QR_NEW)
    Observable<SanFangBaseModel<DeskModel>> getDeskQr(
            @Field("masterId") String masterId,
            @Field("key") String key,
            @Field("id") String id);


    //==========================================================================


    /**
     * 登录
     *
     * @param phone 手机号
     * @param code  验证码
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.LOGIN)
    Observable<CompanyBaseModel<List<LoginModel>>> login(
            @Field("phone") String phone,
            @Field("code") String code);

    /**
     * 退出登录
     *
     * @param token
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.LOGOUT)
    Observable<CompanyBaseModel> logout(
            @Field("token") String token);

    /**
     * 发送验证码
     *
     * @param phone 手机号
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.SEND_CODE)
    Observable<CompanyBaseModel> sendCode(
            @Field("phone") String phone);

    /**
     * 验证验证码
     *
     * @param phone 手机号
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.CHECK_CODE)
    Observable<CompanyBaseModel> checkCode(
            @Field("token") String token,
            @Field("phone") String phone,
            @Field("code") String code);

    /**
     * 设置，修改，忘记支付密码
     *
     * @param memberId
     * @param pay_pwd  支付密码，加密后传输过来，加密规则，md5(md5(pay_pwd+’hongcanting’)),
     *                 示例：md5(md5(‘123456hongcanting’)),123456是支付密码
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.USER_PAY_PWD)
    Observable<CompanyBaseModel> setPayPwd(
            @Field("token") String token,
            @Field("memberId") String memberId,
            @Field("pay_pwd") String pay_pwd);

    /**
     * 获取用户信息
     *
     * @param memberId
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.USER_INFO)
    Observable<CompanyBaseModel<List<UserInfoModel>>> userInfo(
            @Field("token") String token,
            @Field("memberId") String memberId);

    /**
     * 修改用户昵称
     *
     * @param memberId
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.USER_NICKNAME)
    Observable<CompanyBaseModel> userNickname(
            @Field("token") String token,
            @Field("memberId") String memberId,
            @Field("nickname") String nickname);

    /**
     * 修改用户头像
     *
     * @param params     token  memberId
     * @param avatar_url
     * @return
     */
    @Headers(HEADER_COMPANY)
    @Multipart
    @POST(ApiRoute.Company.USER_AVATAR)
    Observable<CompanyBaseModel> userAvatar(
            @PartMap Map<String, RequestBody> params,
            @Part MultipartBody.Part avatar_url);

    /**
     * 修改用户性别
     *
     * @param token
     * @param gender
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.USER_GENDER)
    Observable<CompanyBaseModel> userGender(
            @Field("token") String token,
            @Field("gender") String gender
    );

    /**
     * 修改用户生日
     *
     * @param token
     * @param calender_type
     * @param birth_date
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.USER_BIRTHDATE)
    Observable<CompanyBaseModel> userBirthdate(
            @Field("token") String token,
            @Field("calender_type") int calender_type,
            @Field("birth_date") String birth_date
    );

    /**
     * 提交用户实名认证信息
     *
     * @param params          memberId 	是 	string 	会员id
     *                        user_name 	是 	string 	姓名
     *                        gender 	是 	int 	性别，只接受，1=>男,2=>女
     *                        nation 	是 	string 	民族
     *                        birth_date 	是 	int 	出身年月，时间戳
     *                        residence 	是 	string 	居住地址
     *                        id_no 	是 	string 	身份证号码
     * @param id_front_photo
     * @param id_back_photo
     * @param id_people_photo
     * @return
     */
    @Headers(HEADER_COMPANY)
    @Multipart
    @POST(ApiRoute.Company.USER_VERIFY)
    Observable<CompanyBaseModel> userVerify(
            @PartMap Map<String, RequestBody> params,
            @Part MultipartBody.Part id_front_photo,
            @Part MultipartBody.Part id_back_photo,
            @Part MultipartBody.Part id_people_photo
    );

    /**
     * 推荐菜品
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.FOOD_RECOMMEND)
    Observable<CompanyBaseModel<List<DishModel>>> recommend(
            @Field("token") String token,
            @Field("memberId") String memberId
    );

    /**
     * 获取菜品口味
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.FOOD_SUPPLEMENT)
    Observable<CompanyBaseModel<SupplementModel>> getSupplement(
            @Field("token") String token,
            @Field("dish_code") String dish_code
    );

    /**
     * 获取banners
     */
    @Headers(HEADER_COMPANY)
    @GET(ApiRoute.Company.BANNERS)
    Observable<CompanyBaseModel<List<BannerModel>>> banner();

    /**
     * 点餐页面分类数据
     *
     * @param memberId 用户信息
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.FOOD_Lists)
    Observable<CompanyBaseModel<List<FoodTypeModel>>> foodLists(
            @Field("token") String token,
            @Field("memberId") String memberId
    );

    /**
     * 添加购物车
     *
     * @param memberId
     * @param class_code          分类的ID
     * @param class_name
     * @param dish_code
     * @param pic_url
     * @param dish_name
     * @param dish_count
     * @param dish_unit
     * @param makeup
     * @param taste
     * @param dish_price
     * @param dish_discount_price
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.CART_ADD)
    Observable<CompanyBaseModel> cartAdd(
            @Field("token") String token,
            @Field("memberId") String memberId,
            @Field("class_code") String class_code,
            @Field("class_name") String class_name,
            @Field("dish_code") String dish_code,
            @Field("dish_pic") String pic_url,
            @Field("dish_name") String dish_name,
            @Field("dish_count") String dish_count,
            @Field("dish_unit") String dish_unit,
            @Field("makeup") String makeup,
            @Field("taste") String taste,
            @Field("dish_price") String dish_price,
            @Field("dish_discount_price") String dish_discount_price
    );

    /**
     * 减少购物车
     *
     * @param memberId
     * @param dish_code  菜品Id
     * @param dish_count 数量 ：当前购物车中的数量
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.CART_REMOVE)
    Observable<CompanyBaseModel> cartRemove(
            @Field("token") String token,
            @Field("memberId") String memberId,
            @Field("dish_code") String dish_code,
            @Field("dish_count") String dish_count,
            @Field("taste") String taste,
            @Field("makeup") String makeup
    );

    /**
     * 获取购物车数据
     *
     * @param memberId
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.CART_INFO)
    Observable<CompanyBaseModel<List<ShoppingCartModel>>> cartInfo(
            @Field("token") String token,
            @Field("memberId") String memberId
    );

    /**
     * 获取购物车简单数据
     *
     * @param memberId
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.CART_SIMPLE_INFO)
    Observable<CompanyBaseModel<List<CartSimpleInfoModel>>> cartSimpleInfo(
            @Field("token") String token,
            @Field("memberId") String memberId
    );

    /**
     * 获取用户余额
     *
     * @param memberId
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.USER_BALANCE)
    Observable<CompanyBaseModel<List<BalanceModel>>> userBalance(
            @Field("token") String token,
            @Field("memberId") String memberId
    );

    /**
     * 清空购物车
     *
     * @param memberId
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.CART_CLEAR)
    Observable<CompanyBaseModel> cartClear(
            @Field("token") String token,
            @Field("memberId") String memberId
    );

    /**
     * 获取订单列表
     *
     * @param memberId
     * @param status    状态；2全部  0未支付  1已支付
     * @param page
     * @param page_size
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.USER_ORDERS)
    Observable<CompanyBaseModel<OrderPageModel>> userOrders(
            @Field("token") String token,
            @Field("memberId") String memberId,
            @Field("status") int status,
            @Field("page") int page,
            @Field("page_size") int page_size
    );

    /**
     * 用户提现
     *
     * @param memberId
     * @param ali_account     支付宝账号
     * @param withdraw_amount 提现金额
     * @param pay_pwd         密码
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.USER_WITHDRAW)
    Observable<CompanyBaseModel> userWithdraw(
            @Field("token") String token,
            @Field("memberId") String memberId,
            @Field("ali_account") String ali_account,
            @Field("withdraw_amount") double withdraw_amount,
            @Field("pay_pwd") String pay_pwd
    );

    /**
     * 支付宝充值
     *
     * @param token
     * @param pay_method 2微信1支付宝
     * @param pay_amount 充值金额
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.USER_RECHARGE)
    Observable<CompanyBaseModel<List<ResultStringModel>>> userRecharge(
            @Field("token") String token,
            @Field("pay_method") int pay_method,
            @Field("pay_amount") double pay_amount
    );

    /**
     * 微信充值
     *
     * @param token
     * @param pay_method 2微信1支付宝
     * @param pay_amount 充值金额
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.USER_RECHARGE)
    Observable<CompanyBaseModel<List<WeChartPayModel>>> wechartRecharge(
            @Field("token") String token,
            @Field("pay_method") int pay_method,
            @Field("pay_amount") double pay_amount
    );

    /**
     * 钱包明细
     *
     * @param token
     * @param type      分类,不传，默认返回全部；2就餐3打赏4充值5提现6返利7帮结账
     * @param page
     * @param page_size
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.USER_WALLET)
    Observable<CompanyBaseModel<WalletDetailPageModel>> userWalletDetails(
            @Field("token") String token,
            @Field("type") Integer type,
            @Field("page") int page,
            @Field("page_size") int page_size
    );

    /**
     * 首次登录设置个人信息
     *
     * @param params     token 	是 	string 	token
     *                   gender 	是 	int 	1男2女,
     *                   nickname 	是 	string 	昵称
     *                   calender_type 	是 	int 	1阳历2农历
     *                   birth_date 	是 	string 	出生日期，阳历示例：3月7日周日；农历示例：三月初七周四
     * @param avatar_url 头像
     * @return
     */
    @Headers(HEADER_COMPANY)
    @Multipart
    @POST(ApiRoute.Company.USER_ADD_INFO)
    Observable<CompanyBaseModel> userAddInfo(
            @PartMap Map<String, RequestBody> params,
            @Part MultipartBody.Part avatar_url
    );

    /**
     * 钱包支付
     *
     * @param token
     * @param memberId
     * @param orderId
     * @param pay_method    支付方式；3钱包2微信1支付宝
     * @param pay_amount
     * @param pay_pwd
     * @param order_type    2 帮结账时使用  不是必传项
     * @param help_memberId
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.WALLET_PAY)
    Observable<CompanyBaseModel<List<ResultStringModel>>> walletPay(
            @Field("token") String token,
            @Field("memberId") String memberId,
            @Field("orderId") String orderId,
            @Field("pay_method") int pay_method,
            @Field("pay_amount") String pay_amount,
            @Field("pay_pwd") String pay_pwd,
            @Field("order_type") Integer order_type,
            @Field("help_memberId") String help_memberId,
            @Field("deskId") String deskId
    );

    /**
     * 支付宝支付服务器的回调
     *
     * @param memberId
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.ALIPAY_RETURN)
    Observable<CompanyBaseModel<AliPayReturnModel>> aliPayReturn(
            @Field("token") String token,
            @Field("memberId") String memberId,
            @Field("orderId") String orderId
    );

    /**
     * 充值成功回调
     *
     * @param memberId
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.ALIPAY_RETURN)
    Observable<CompanyBaseModel> rechargePayReturn(
            @Field("token") String token,
            @Field("memberId") String memberId,
            @Field("orderId") String orderId
    );

    /**
     * 获取用户桌位信息
     *
     * @param token
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.TABLE_STATUS)
    Observable<CompanyBaseModel<List<UserTableModel>>> tableStatus(
            @Field("token") String token
    );

    /**
     * 获取用户桌位信息
     *
     * @param token
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.GIFT_LISTS)
    Observable<CompanyBaseModel<List<GiftMode>>> giftList(
            @Field("token") String token
    );

    /**
     * 获取用户桌位信息
     *
     * @param token
     * @param gift_id   礼物唯一id
     * @param amount    金额
     * @param content   当礼物为大屏类型时，必传
     * @param desk_code 桌位id
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.GIFT_ORDER)
    Observable<CompanyBaseModel> sendGift(
            @Field("token") String token,
            @Field("gift_id") String gift_id,
            @Field("amount") String amount,
            @Field("content") String content,
            @Field("desk_code") String desk_code
    );

    /**
     * 服务端获取消息列表
     *
     * @param token
     * @param status    任务状态（1新任务2进行中3已完成）；服务员（1新任务3已完成）
     * @param page
     * @param page_size
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.GIFT_ORDER_LISTS)
    Observable<CompanyBaseModel<TaskPageModel>> getGiftOrderList(
            @Field("token") String token,
            @Field("status") int status,
            @Field("page") int page,
            @Field("page_size") int page_size
    );

    /**
     * 服务端获取消息列表
     *
     * @param token
     * @param gift_order_id
     * @param status        2确认3完成
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.GIFT_HANDLE_ORDER)
    Observable<CompanyBaseModel> updataTask(
            @Field("token") String token,
            @Field("gift_order_id") String gift_order_id,
            @Field("status") int status
    );

    /**
     * 版本更新
     *
     * @param sys 0:android
     *            1:ios
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.APP_LEVEL)
    Observable<CompanyBaseModel<List<AppVersionModel>>> appLevel(
            @Field("sys") int sys
    );

    /**
     * 添加 && 获取订单的就餐方式
     *
     * @param token
     * @param orderId
     * @param para    1增加就餐方式2获取就餐方式
     * @param eatType 就餐方式 0=堂食；1=外带
     * @param deskId
     * @return
     */
    @Headers(HEADER_COMPANY)
    @FormUrlEncoded
    @POST(ApiRoute.Company.USER_ORDER_EAT_TYPE)
    Observable<CompanyBaseModel<List<OrderEatTypeMode>>> orderEatType(
            @Field("token") String token,
            @Field("orderId") String orderId,
            @Field("para") int para,
            @Field("eatType") Integer eatType,
            @Field("deskId") String deskId

    );

}
